/**
 * 
 */
package xj.toolkit.fsm;

/**
 * @author isdom
 *
 */
public interface FSMDashboard {
	
	public int getExecutorActiveThreadCount();
	
	public int getExecutorLargestPoolSize();

	public int getExecutorCorePoolSize();
	
	public int getExecutorMaximumPoolSize();

	public int getExecutorCurrentPoolSize();
	
 	public long getExecutorHandledTaskCount();
 	
	public long getExecutorCompletedTaskCount();

    public int getExecutorPendingTaskCount();

	public long getDealHandledCount();
	
	public long getDealCompletedCount();
	
	public long getDealBypassCount();

	public long getDealLargestTimeToLive();

	public long getDealLargestTimeToActive();

	public long getDealSmallestTimeToLive();

	public long getDealSmallestTimeToActive();

	public long getDealAverageTimeToLive();

	public long getDealAverageTimeToActive();

	public void resetDealTimeExtremum();

	public String	getDealTimeCountAsString();

	public void resetDealTimeCounter();

	public String	getDealEndReasonCountAsString();
	
	public void resetDealEndReasonCounter();
	
	public int getJobTotalCount();
	
	public int getJobInactiveCount();
	
	public int getJobActiveCount();
	
    public int 	getJobLargestActiveCount();
    
    public int 	getJobPeriodLargestActiveCount();
    
	public int 	getJobTimeoutEventCount();
    
	public String[] getJobsDetail();
	
	public int	getInnerServiceTaskCount();
}
